我试图将回调函数从控制器传递给指令。
这是回调函数代码:
$scope.onImageSelect = function(image) { alert('SET'); $scope.card.image = image; };
指令用法:
<google-image-search callback="onImageSelect" />
指令代码:
ngmod.directive('directive', function() { return { templateUrl: '/templates/template.html', scope: { callback: '&' } } });
模板中的回调用法:
<a data-ng-click="callback(url)"></a>
但是,这给了我以下错误:
TypeError: Cannot use 'in' operator to search for 'onImageSelect'
我看过很多类似的问题,但不明白我在哪里错了。
从指令中调用表达式方法时,您需要以JSON格式传递指令中的参数,还应更正指令callback属性值以像 callback="onImageSelect(image)"
JSON
callback
callback="onImageSelect(image)"
<google-image-search callback="onImageSelect(image)" />
指令模板
<a data-ng-click="callback({image: url})"></a>